package hcn.protocol.brandnew.dengji.jianchayuyue;

import lombok.Data;
import javax.xml.bind.annotation.*;
import java.util.List;
import hcn.protocol.brandnew.BaseRequest;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import ctd.util.xml.jaxb.DateTimeAdapter;
import org.atag.sysrouter.annotation.DictionaryMapping;

import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;


/**
 * 检查预约状态信息更新服务-请求消息 - ODS_02070002
 *
 * @author enjoyLife
 */
@Data
@XmlRootElement(name = "MsgBody")
@XmlAccessorType(XmlAccessType.FIELD)
public class QueryPatientListRequest extends BaseRequest {
    /**
     * 医疗机构组织机构代码
     */
    @XmlElement(name = "VisitOrganization")
    private String visitOrganization;
    /**
     * 查询组合类型
     * 查询类型，参数设置，1表示按患者患者标识集合查询；2表示按证件集合查询；3表示按诊疗卡集合查询；4根据患者姓名或者诊疗卡号查询，默认是1
     */
    @XmlElement(name = "QueryType")
    private String queryType;
    /**
     * 业务系统患者档案ID
     */
    @XmlElement(name = "SourcePatientId")
    private String sourcePatientId;
    /**
     * 身份证件类别代码
     */
    @XmlElement(name = "IdCardCode")
    @DictionaryMapping(id = "CV02_01_101")
    private String idCardCode;
    /**
     * 身份证件号码
     */
    @XmlElement(name = "IdCard")
    private String idCard;
    /**
     * 证件后四位
     */
    @XmlElement(name = "InputCode")
    private String inputCode;
    /**
     * 患者姓名
     */
    @XmlElement(name = "Name")
    private String name;
    /**
     * 诊疗卡类型
     */
    @XmlElement(name = "MedicalCardType")
    @DictionaryMapping(id = "rmp.dic.medicalCardType")
    private String medicalCardType;
    /**
     * 患者卡号
     */
    @XmlElement(name = "MedicalCardID")
    private String medicalCardID;
    /**
     * 患者手机号码
     */
    @XmlElement(name = "PatientMobile")
    private String patientMobile;
    /**
     * 关键词
     * 根据患者姓名或者诊疗卡号模糊查询
     */
    @XmlElement(name = "Keyword")
    private String keyword;
    /**
     * 分页参数
     */
    @XmlElement(name = "PageNo")
    private String pageNo;
    /**
     * 分页参数
     */
    @XmlElement(name = "PageSize")
    private String pageSize;

}
